Android 获取包名和 Activity 的几种方法 · TesterHome |
您所在的位置:网站首页 › android 获取当前activity对象 › Android 获取包名和 Activity 的几种方法 · TesterHome |
Guide
本文档主要记录 “获取包名和 Activity 的方法”,用于自动化测试时启动 APP。以下方法主要来源于网络和社区同学的贡献,特此感谢! 1. 方法一: pm list package 查看包名 adb shell pm list package -f将获取手机内所有 apk 对应的包名和路径 先打开需要查找的 apk 后,再敲入以上命令 adb shell dumpsys window w | findstr \/ | findstr name= 或 adb shell dumpsys window |findstr mCurrent 或 adb shell "dumpsys window w|grep \/|grep name=|sed 's/mSurface=Surface(name=//g'|sed 's/)//g'|sed 's/ //g'"注:此处用sed 将部分字符串替换为空,格式为 “sed 's/要被取代的字串/新的字串/g'” ![]() ![]() ![]() 先启动需要的查找的 apk,再敲入以上命令 adb shell dumpsys activity | grep mFocusedActivity先启动需要查找的 apk,再敲入以上命令,找到最后一个 ActivityManager ![]() 使用 aapt 工具 ,适合给程序自动获取 apk 的相关信息,非常实用, //aapt 是 sdk 自带的一个工具,在 sdk\builds-tools\目录下 1.以微信为例,命令行中切换到 aapt.exe 目录执行输入以下命令 aapt dump badging D:\weixin658android1060.apk2.运行后的结果中以下两行分别是应用包名 package 和入口 activity 名称,另外可看到应用使用的权限、支持的语言等信息 ![]() ![]() 1.使用apktool反编译 app java -jar D:\Tools\apktool_2.2.3.jar d D:\Tools\weixin658android1060.apk![]() ![]() ![]() 2.打开 AndroidManifest.xml 文件 manifest 节点的 package 属性值是应用的包名: ![]() 查找 android.intent.action.MAIN 和 android.intent.category.LAUNCHER 对应的 activity,该 activity 对应的 android:name 属性既是入口 activity 名称,android.intent.action.MAIN 决定应用程序最先启动的 Activity,android.intent.category.LAUNCHER 决定应用程序是否显示在程序列表里 ![]() 注: 1. findstr 和 grep 查找字符串说明 findstr:windows 平台查找字符串命令, 一般格式如下: adb shell xxx | findstr xxxgrep:linux 平台查找字符串命令,一般先 adb shell 进入 shell 命令行再使用,也可直接使用,把 shell 后面带 grep 的命令加双引号即可: adb shell "xxx | grep xxx" |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |